//package com.bestcem.xm.common.core.config.delaymq.job;
//
//import com.bestcem.xm.common.core.config.delaymq.service.DelayMessageService;
//import lombok.extern.slf4j.Slf4j;
//import org.quartz.Job;
//import org.quartz.JobExecutionContext;
//import org.quartz.JobExecutionException;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
///**
// * 定时任务 延迟队列守护任务
// *
// * @author sh.pei <sh.pei@idiaoyan.com>
// * @version v1.0
// * @date 2022/1/13 17:32
// */
//@Slf4j
//@Component
//public class DelayMqGuardingJob implements Job {
//
//    @Autowired
//    private DelayMessageService delayMessageService;
//
//    @Override
//    public void execute(JobExecutionContext context) throws JobExecutionException {
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库里查到所有待加入到redis的消息,加入redis; Job开始");
//        }
//        // 调用定时任务
//        try {
//            delayMessageService.pickToToAddRedisMsgFromDataBase();
//        } catch (Exception e) {
//            log.error("[delayMq] 定时任务pickToToAddRedisMsgFromDataBase执行异常", e);
//        }
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库里查到所有待加入到redis的消息,加入redis; Job结束");
//        }
//
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库里查到所有超时但未从redis发送出去的消息 Job开始");
//        }
//        // 调用定时任务
//        try {
//            delayMessageService.pickToToSendMsgFromDataBase();
//        } catch (Exception e) {
//            log.error("[delayMq] 定时任务pickToToSendMsgFromDataBase执行异常", e);
//        }
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库里查到所有超时但未从redis发送出去的消息 Job结束");
//        }
//
//
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库查到所有发送失败的消息,进行补发; Job开始");
//        }
//        // 调用定时任务
//        try {
//            delayMessageService.pickSendFailMsgFromDataBase();
//        } catch (Exception e) {
//            log.error("[delayMq] 定时任务pickSendFailMsgFromDataBase执行异常", e);
//        }
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 从数据库查到所有发送失败的消息,进行补发;Job结束");
//        }
//
//
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 删除大于1月的消息 Job开始");
//        }
//        // 调用定时任务
//        try {
//            delayMessageService.deleteUselessMsg();
//        } catch (Exception e) {
//            log.error("[delayMq] 定时任务deleteUselessMsg执行异常", e);
//        }
//        if (log.isInfoEnabled()) {
//            log.info("[delayMq] 删除大于1月的消息 Job结束");
//        }
//    }
//}
